package demo.academique;

/**
 * Un exemple d'objet distant qui manipule un autre objet distant 
 */
import org.omg.CosNaming.*;

public class Client {
	public static void main(String[] args) {
		try {
			org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);

			// get hold of the naming service
			NamingContextExt nc = NamingContextExtHelper.narrow(orb
					.resolve_initial_references("NameService"));

			NameComponent[] name = new NameComponent[] { new NameComponent(
					"Registraire", "service") };

			// resolve name to get a reference to our server
			Registraire registraire = RegistraireHelper
					.narrow(nc.resolve(name));

			Etudiant etudiant = registraire.getEtudiant();

			System.out.println("Contenu initial de codePermanent a partir du client: "
					+ etudiant.codePermanent());
			etudiant.codePermanent("ABCD12345678");
			System.out.println("Changement de codePermanent a partir du client: "
					+ etudiant.codePermanent());

			System.out.println("Contenu initial de nom a partir du client: "
					+ etudiant.nom());
			etudiant.nom("Diant");
			System.out.println("Changement de nom a partir du client: "
					+ etudiant.nom());

			System.out.println("Contenu initial de prenom a partir du client: "
					+ etudiant.prenom());
			etudiant.prenom("Letu");
			System.out.println("Changement de prenom a partir du client: "
					+ etudiant.prenom());

			System.out.println("---Tout a bien ete, on ferme la boutique---");

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
